public abstract class PersistentObject<E extends POEntity> {

	private E entity;
	
	
	public void init() {
		
		Class<E> clazz = getEntityClass();
		try {
			entity = clazz.newInstance();
		} catch (InstantiationException e) {
			throw new RuntimeException(e);
		} catch (IllegalAccessException e) {
			throw new RuntimeException(e);
		}				
	}
		

	protected abstract Class<E> getEntityClass();
	
	protected final E getEntity() {
		return entity; 
	} 
	
	
}